package com.glsc.ngateway.common.base.domain.mysql.gateway.platform.gitee;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;

/**
 * @author xuchang
 */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "t_gw_gitee_issue_base")
public class IssueBase implements Serializable {

    @ApiModelProperty(value = "Gitee工作项id，注意与ident的区分")
    @Id
    @Column(name = "id", columnDefinition = "int")
    private Integer id;
    @Column(name = "root_id", columnDefinition = "int")
    private Integer root_id;
    @Column(name = "parent_id", columnDefinition = "int")
    private Integer parent_id;
    @Column(name = "project_id", columnDefinition = "int")
    private Integer project_id;
    @Column(name = "program_id", columnDefinition = "int")
    private Integer program_id;
    @Column(name = "program_name", columnDefinition = "varchar(255)")
    private String program_name;


    @ApiModelProperty(value = "Gitee工作项表示ident")
    @Column(name = "ident", columnDefinition = "varchar(255)")
    private String ident;
    @Column(name = "title", columnDefinition = "varchar(255)")
    private String title;
    @Column(name = "issue_state_id", columnDefinition = "varchar(255)")
    private String issue_state_id;
    @Column(name = "state", columnDefinition = "varchar(255)")
    private String state;
    @Column(name = "priority", columnDefinition = "int")
    private Integer priority;
    @Column(name = "priority_human", columnDefinition = "varchar(255)")
    private String priority_human;
    @Column(name = "issue_types", columnDefinition = "varchar(255)")
    private String issue_types;
    @Column(name = "assignee", columnDefinition = "varchar(255)")
    private String assignee;
    @Column(name = "collaborators", columnDefinition = "varchar(255)")
    private String collaborators;


    @Column(name = "plan_started_at", columnDefinition = "varchar(255)")
    private String plan_started_at;
    @Column(name = "deadline", columnDefinition = "varchar(255)")
    private String deadline;
    @Column(name = "started_at", columnDefinition = "varchar(255)")
    private String started_at;
    @Column(name = "finished_at", columnDefinition = "varchar(255)")
    private String finished_at;
    @Column(name = "created_at", columnDefinition = "varchar(255)")
    private String created_at;
    @Column(name = "updated_at", columnDefinition = "varchar(255)")
    private String updated_at;

    @Column(name = "overDays", columnDefinition = "long")
    private Long overDays;

}
